import Main from '@/view/main'
import parentView from '@/components/parent-view'

/**
 * iview-admin中meta除了原生参数外可配置的参数:
 * meta: {
 *  hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项
 *  notCache: (false) 设为true后页面不会缓存
 *  access: (null) 可访问该页面的权限数组，当前路由设置的权限会影响子路由
 *  icon: (-) 该页面在左侧菜单、面包屑和标签导航处显示的图标，如果是自定义图标，需要在图标名称前加下划线'_'
 * }
 */

export default [{
        path: '/login',
        name: 'login',
        meta: {
            title: 'Login - 登录',
            hideInMenu: true
        },
        component: () =>
            import ('@/view/login/login.vue')
    },
    {
        path: '/',
        name: 'home',
        redirect: '/home',
        component: Main,
        meta: {
            hideInMenu: true,
            notCache: true
        },
        children: [{
            path: '/home',
            name: 'home',
            meta: {
                hideInMenu: true,
                title: '首页',
                notCache: true
            },
            component: () =>
                import ('@/view/single-page/home')
        }]
    },
    {
        path: '/sys',
        name: 'sys',
        meta: {
            icon: 'md-settings',
            title: '系统设置'
        },
        component: Main,
        children: [{
            path: 'user',
            name: 'user',
            meta: {
                icon: 'md-person-add',
                title: '用户管理'
            },
            component: () =>
                import ('@/view/sys/user')
        },{
            path: 'demo',
            name: 'demo',
            meta: {
                icon: 'md-person-add',
                title: '测试'
            },
            component: () =>
                import ('@/view/sys/demo')
        }
        ]
    },
    {
        path: '/components',
        name: 'components',
        meta: {
            icon: 'logo-buffer',
            title: '组件'
        },
        component: Main,
        children: [{
                path: 'count_to_page',
                name: 'count_to_page',
                meta: {
                    icon: 'md-trending-up',
                    title: '数字渐变'
                },
                component: () =>
                    import ('@/view/components/count-to/count-to.vue')
            },
            {
                path: 'editor_page',
                name: 'editor_page',
                meta: {
                    icon: 'ios-create',
                    title: '富文本编辑器'
                },
                component: () =>
                    import ('@/view/components/editor/editor.vue')
            },
            {
                path: 'upload',
                name: 'upload',
                meta: {
                    icon: 'ios-create',
                    title: '文件上传'
                },
                component: () =>
                    import ('@/view/components/upload')
            }
        ]
    },
    {
        path: '/multilevel',
        name: 'multilevel',
        meta: {
            icon: 'md-menu',
            title: '多级菜单'
        },
        component: Main,
        children: [{
                path: 'level_2_1',
                name: 'level_2_1',
                meta: {
                    icon: 'arrow-graph-up-right',
                    title: '二级-1'
                },
                component: () =>
                    import ('@/view/multilevel/level-2-1.vue')
            },
            {
                path: 'level_2_2',
                name: 'level_2_2',
                meta: {
                    access: ['super_admin'],
                    icon: 'arrow-graph-up-right',
                    showAlways: true,
                    title: '二级-2'
                },
                component: parentView,
                children: [{
                    path: 'level_2_2_1',
                    name: 'level_2_2_1',
                    meta: {
                        icon: 'arrow-graph-up-right',
                        title: '三级'
                    },
                    component: () =>
                        import ('@/view/multilevel/level-2-2/level-3-1.vue')
                }]
            },
            {
                path: 'level_2_3',
                name: 'level_2_3',
                meta: {
                    icon: 'arrow-graph-up-right',
                    title: '二级-3'
                },
                component: () =>
                    import ('@/view/multilevel/level-2-3.vue')
            },
        ]
    },
    {
        path: '/401',
        name: 'error_401',
        meta: {
            hideInMenu: true
        },
        component: () =>
            import ('@/view/error-page/401.vue')
    },
    {
        path: '/500',
        name: 'error_500',
        meta: {
            hideInMenu: true
        },
        component: () =>
            import ('@/view/error-page/500.vue')
    },
    {
        path: '*',
        name: 'error_404',
        meta: {
            hideInMenu: true
        },
        component: () =>
            import ('@/view/error-page/404.vue')
    }
]
